]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
mixer-control: Always sync devices
authorGuido Günther <agx@sigxcpu.org>
Sun, 4 Jan 2026 12:07:28 +0000 (13:07 +0100)
committerSimon McVittie <smcv@debian.org>
Wed, 28 Jan 2026 13:25:18 +0000 (13:25 +0000)
This ensures any changes ports get updated, otherwise we'll fail
to match the updated port.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Origin: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31
Bug: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/issues/34
Bug-Debian: https://bugs.debian.org/1126514
Applied-upstream: gnome-shell 50, commit:798230599950607ec285daecd070f5bcb28580e4

Gbp-Pq: Topic libgvc
Gbp-Pq: Name mixer-control-Always-sync-devices.patch

subprojects/gvc/gvc-mixer-control.c

index a6aaf2e2877f7c275a798c0317e98961698536c3..74f9193a166a89920e8b07a4ebdc4a23fdf8b209 100644 (file)
@@ -1507,6 +1507,10 @@ update_sink (GvcMixerControl    *control,
         gvc_mixer_stream_set_base_volume (stream, (guint32) info->base_volume);
         gvc_mixer_stream_set_state (stream, translate_pa_state (info->state));
 
+        /* Sync devices as the port on the stream might have changed */
+        if (!is_new)
+                sync_devices (control, stream);
+
         /* Messy I know but to set the port everytime regardless of whether it has changed will cost us a
          * port change notify signal which causes the frontend to resync.
          * Only update the UI when something has changed. */
@@ -1638,6 +1642,10 @@ update_source (GvcMixerControl      *control,
         gvc_mixer_stream_set_base_volume (stream, (guint32) info->base_volume);
         g_debug ("update source");
 
+        /* Sync devices as the port on the stream might have changed */
+        if (!is_new)
+                sync_devices (control, stream);
+
         if (info->active_port != NULL) {
                 if (is_new)
                         gvc_mixer_stream_set_port (stream, info->active_port->name);